Time-domain transmit and receive processing with channel eigen-mode decomposition for MIMO systems

ABSTRACT

Techniques for processing a data transmission at the transmitter and receiver. In an aspect, a time-domain implementation is provided which uses frequency-domain singular value decomposition and “water-pouring” results to derive time-domain pulse-shaping and beam-steering solutions at the transmitter and receiver. The singular value decomposition is performed at the transmitter to determine eigen-modes (i.e., spatial subchannels) of the MIMO channel and to derive a first set of steering vectors used to “precondition” modulation symbols. The singular value decomposition is also performed at the receiver to derive a second set of steering vectors used to precondition the received signals such that orthogonal symbol streams are recovered at the receiver, which can simplify the receiver processing. Water-pouring analysis is used to more optimally allocate the total available transmit power to the eigen-modes, which then determines the data rate and the coding and modulation scheme to be used for each eigen-mode.

CLAIM OF PRIORITY UNDER 35 U.S.C. §120

[0001] The present Application for Patent is a Continuation and claimspriority to patent application Ser. No. 10/017,308 entitled “Time-DomainTransmit and Receive Processing with Channel EIGEN-Mode Decompositionfor MIMO Systems” filed Dec. 7, 2001, now allowed, and assigned to theassignee hereof and hereby expressly incorporated by reference herein.

BACKGROUND

[0002] 1. Field

[0003] The present invention relates generally to data communication,and more specifically to techniques for time-domain transmit and receiveprocessing with channel eigen-mode decomposition for multiple-inputmultiple-output (MIMO) communication systems.

[0004] 2. Background

[0005] In a wireless communication system, an RF modulated signal from atransmitter may reach a receiver via a number of propagation paths. Thecharacteristics of the propagation paths typically vary over time due toa number of factors such as fading and multipath. To provide diversityagainst deleterious path effects and improve performance, multipletransmit and receive antennas may be used. If the propagation pathsbetween the transmit and receive antennas are linearly independent(i.e., a transmission on one path is not formed as a linear combinationof the transmissions on other paths), which is generally true to atleast an extent, then the likelihood of correctly receiving a datatransmission increases as the number of antennas increases. Generally,diversity increases and performance improves as the number of transmitand receive antennas increases.

[0006] A multiple-input multiple-output (MIMO) communication systememploys multiple (N_(T)) transmit antennas and multiple (N_(R)) receiveantennas for data transmission. A MIMO channel formed by the N_(T)transmit and N_(R) receive antennas may be decomposed into N_(C)independent channels, with N_(C)≦min {N_(T), N_(R)}. Each of the N_(C)independent channels is also referred to as a spatial subchannel of theMIMO channel and corresponds to a dimension. The MIMO system can provideimproved performance (e.g., increased transmission capacity) if theadditional dimensionalities created by the multiple transmit and receiveantennas are utilized.

[0007] The spatial subchannels of a wideband MIMO system may experiencedifferent channel conditions (e.g., different fading and multipatheffects) across its bandwidth and may achieve differentsignal-to-noise-and-interference ratios (SNRs) at different frequencies(i.e., different frequency bins or subbands) of the overall systembandwidth. Consequently, the number of information bits per modulationsymbol (i.e., the data rate) that may be transmitted at differentfrequency bins of each spatial subchannel for a particular level ofperformance may be different from bin to bin. Moreover, the channelconditions typically vary with time. As a result, the supported datarates for the bins of the spatial subchannels also vary with time.

[0008] To combat the frequency selective nature of the wideband channel(i.e., different channel gains for different bins), orthogonal frequencydivision multiplexing (OFDM) may be used to effectively partition thesystem bandwidth into a number of (N_(F)) subbands (which may bereferred to as frequency bins or subchannels). In OFDM, each frequencysubchannel is associated with a respective subcarrier upon which datamay be modulated, and thus may also be viewed as an independenttransmission channel.

[0009] A key challenge in a coded communication system is the selectionof the appropriate data rates and coding and modulation schemes to beused for a data transmission based on channel conditions. The goal ofthis selection process is to maximize throughput while meeting qualityobjectives, which may be quantified by a particular frame error rate(FER), certain latency criteria, and so on.

[0010] One straightforward technique for selecting data rates and codingand modulation schemes is to “bit load” each frequency bin of eachspatial subchannel according to its transmission capability, which maybe quantified by the bin's short-term average SNR. However, thistechnique has several major drawbacks. First, coding and modulatingindividually for each bin of each spatial subchannel can significantlyincrease the complexity of the processing at both the transmitter andreceiver. Second, coding individually for each bin may greatly increasecoding and decoding delay. And third, a high feedback rate may be neededto send channel state information (CSI) indicative of the channelconditions (e.g., the gain, phase and SNR) of each bin.

[0011] There is therefore a need in the art for achieving highthroughput in a coded MIMO system without having to individually codedifferent frequency bins of the spatial subchannels.

SUMMARY

[0012] Aspects of the invention provide techniques for processing a datatransmission at the transmitter and receiver of a MIMO system such thathigh performance (i.e., high throughput) is achieved without the need toindividually code/modulate for different frequency bins. In an aspect, atime-domain implementation is provided herein which usesfrequency-domain singular value decomposition and “water-pouring”results to derive pulse-shaping and beam-steering solutions at thetransmitter and receiver. The singular value decomposition is performedat the transmitter to determine the eigen-modes (i.e., the spatialsubchannels) of the MIMO channel and to derive a first set of steeringvectors that are used to “precondition” modulation symbols. The singularvalue decomposition is also performed at the receiver to derive a secondset of steering vectors that are used to precondition the receivedsignals such that orthogonal symbol streams are recovered at thereceiver, which can simplify the receiver processing. Water-pouringanalysis is used to more optimally allocate the total available transmitpower for the MIMO system to the eigen-modes of the MIMO channel. Theallocated transmit power may then determine the data rate and the codingand modulation scheme to be used for each eigen-mode.

[0013] At the transmitter, data is initially coded in accordance withone or more coding schemes to provide coded data, which is thenmodulated in accordance with one or more modulation schemes to provide anumber of modulation symbol streams (e.g., one stream for eacheigen-mode). An estimated channel response matrix for the MIMO channelis determined (e.g., at the receiver and sent to the transmitter) anddecomposed (e.g., in the frequency domain, using singular valuedecomposition) to obtain a first sequence of matrices of (right)eigen-vectors and a second sequence of matrices of singular values.Water-pouring analysis may be performed based on the matrices ofsingular values to derive a third sequence of matrices of valuesindicative of the transmit power allocated to the eigen-modes of theMIMO channel. A pulse-shaping matrix for the transmitter is then derivedbased on the first and third sequences of matrices. The pulse-shapingmatrix comprises the steering vectors that are used to precondition themodulation symbol streams to obtain a number of preconditioned signals,which are then transmitted over the MIMO channel to the receiver.

[0014] At the receiver, the estimated channel response matrix is alsodetermined and decomposed to obtain a fourth sequence of matrices of(left) eigen-vectors, which are then used to derive a pulse-shapingmatrix for the receiver. A number of signals is received at the receiverand preconditioned based on this pulse-shaping matrix to obtain a numberof received symbol streams. Each received symbol stream may be equalizedto obtain a corresponding recovered symbol stream, which is thendemodulated and decoded to recover the transmitted data.

[0015] Various aspects and embodiments of the invention are described infurther detail below. The invention further provides methods, digitalsignal processors, transmitter and receiver units, and other apparatusesand elements that implement various aspects, embodiments, and featuresof the invention, as described in further detail below.

BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The features, nature, and advantages of the present inventionwill become more apparent from the detailed description set forth belowwhen taken in conjunction with the drawings in which like referencecharacters identify correspondingly throughout and wherein:

[0017]FIG. 1 is a block diagram of an embodiment of a transmitter systemand a receiver system of a MIMO system;

[0018]FIG. 2 is a block diagram of an embodiment of a transmitter unitcapable of implementing various aspects and embodiments of theinvention;

[0019]FIG. 3 is a block diagram of an embodiment of a receiver unitcapable of implementing various aspects and embodiments of theinvention;

[0020]FIGS. 4A and 4B are block diagrams of an equivalent channel modeland an implementation, respectively, of a minimum mean square errorlinear equalizer (MMSE-LE); and

[0021]FIGS. 5A and 5B are block diagrams of an equivalent channel modeland an implementation, respectively, of a decision feedback equalizer(DFE).

DETAILED DESCRIPTION

[0022] The techniques described herein for processing a datatransmission at the transmitter and receiver may be used for variouswireless communication systems. For clarity, various aspects andembodiments of the invention are described specifically for amultiple-input multiple-output (MIMO) communication system.

[0023] A MIMO system employs multiple (N_(T)) transmit antennas andmultiple (N_(R)) receive antennas for data transmission. A MIMO channelformed by the N_(T) transmit and N_(R) receive antennas may bedecomposed into N_(C) independent channels, with N_(C)≦min {N_(T),N_(R)}. Each of the N_(C) independent channels is also referred to as aspatial subchannel (or a transmission channel) of the MIMO channel. Thenumber of spatial subchannels is determined by the number of eigen-modesfor the MIMO channel, which in turn is dependent on a channel responsematrix that describes the response between the N_(T) transmit and N_(R)receive antennas.

[0024]FIG. 1 is a block diagram of an embodiment of a transmitter system110 and a receiver system 150, which are capable of implementing variousaspects and embodiments of the invention.

[0025] At transmitter system 110, traffic data is provided from a datasource 112 to a transmit (TX) data processor 114, which formats, codes,and interleaves the traffic data based on one or more coding schemes toprovide coded data. The coded traffic data may then be multiplexed withpilot data using, e.g., time division multiplex (TDM) or code divisionmultiplex (CDM) in all or a subset of the data streams to betransmitted. The pilot data is typically a known data pattern processedin a known manner, if at all. The multiplexed pilot and coded trafficdata is then modulated (i.e., symbol mapped) based on one or moremodulation schemes to provide modulation symbols, one modulation symbolstream for each spatial subchannel to be used for data transmission. Thedata rate, coding, interleaving, and modulation for each spatialsubchannel may be determined by controls provided by a controller 130.

[0026] The modulation symbols are then provided to a TX MIMO processor120 and further processed. In a specific embodiment, the processing byTX MIMO processor 120 includes (1) determining an estimated channelfrequency response matrix for the MIMO channel, (2) decomposing theestimated channel frequency response matrix to determine the eigen-modesof the MIMO channel and to derive a set of “steering” vectors for thetransmitter, one vector for the modulation symbol stream to betransmitted on each spatial subchannel, (3) deriving a transmitspatio-temporal pulse-shaping matrix based on the steering vectors and adiagonal matrix indicative of the energies (i.e., the transmit powers)assigned to the eigen-modes, and (4) preconditioning (e.g., convolving)the modulation symbols with the pulse-shaping matrix to derivepreconditioned modulation symbols. The processing by TX MIMO processor120 is described in further detail below. Up to N_(T) streams ofpreconditioned modulation symbols are then provided to transmitters(TMTR) 122 a through 122 t.

[0027] Each transmitter 122 converts the received preconditionedmodulation symbol stream into one or more analog signals and furtherconditions (e.g., amplifies, filters, and quadrature modulates) theanalog signals to generate a modulated signal suitable for transmissionover the MIMO channel. The modulated signal from each transmitter 122 isthen transmitted via a respective antenna 124 to the receiver system.

[0028] At receiver system 150, the transmitted modulated signals arereceived by N_(R) antennas 152 a through 152 r, and the received signalfrom each antenna 152 is provided to a respective receiver (RCVR) 154.Each receiver 154 conditions (e.g., filters, amplifies, anddownconverts) the received signal and digitizes the conditioned signalto provide a respective stream of samples. A RX MIMO processor 160 thenreceives and processes the N_(R) sample streams to provide N_(T) streamsof recovered modulation symbols. In an embodiment, the processing by RXMIMO processor 160 may include (1) determining an estimated channelfrequency response matrix for the MIMO channel, (2) decomposing theestimated channel frequency response matrix to derive a set of steeringvectors for the receiver, (3) deriving a receive spatio-temporalpulse-shaping matrix based on the steering vectors, (4) preconditioning(e.g., convolving) the samples with the pulse-shaping matrix to derivereceived modulation symbols, and (5) equalizing the received modulationsymbols to derive the recovered modulation symbols. The processing by RXMIMO processor 160 is described in further detail below.

[0029] A receive (RX) data processor 162 then demodulates,deinterleaves, and decodes the recovered modulation symbols to recoverthe transmitted traffic data. The processing by RX MIMO processor 160and RX data processor 162 is complementary to that performed by TX MIMOprocessor 120 and TX data processor 114, respectively, at transmittersystem 110.

[0030] RX MIMO processor 160 may further derive channel impulseresponses for the MIMO channel, the signal-to-noise-and-interferenceratios (SNRs) for the spatial subchannels, and so on, and provide theseto a controller 170. RX data processor 162 may also provide the statusof each received packet or frame, one or more other performance metricsindicative of the decoded results, and possible other information.Controller 170 then derives channel state information (CSI), which maycomprise all or some of the information received from RX MIMO processor160 and RX data processor 162. The CSI is processed by a TX dataprocessor 178, modulated by a modulator 180, conditioned by transmitters154 a through 154 r, and transmitted back to transmitter system 110.

[0031] At transmitter system 110, the modulated signals from receiversystem 150 are received by antennas 124, conditioned by receivers 122,and demodulated by a demodulator 140 to recover the CSI transmitted bythe receiver system. The CSI is then provided to controller 130 and usedto generate various controls for TX data processor 114 and TX MIMOprocessor 120.

[0032] Controllers 130 and 170 direct the operation at the transmitterand receiver systems, respectively. Memories 132 and 172 provide storagefor program codes and data used by controllers 130 and 170,respectively.

[0033] In a MIMO system with limited total transmit power and operatingover a frequency-selective channel (i.e., different gains at differentfrequencies), the channel capacity, C, is given by: $\begin{matrix}{{C = {\max\limits_{{\underset{\_}{\Phi}}_{xx}{(k)}}\quad {\sum\limits_{k = 1}^{N_{F}}{\log \quad {{\underset{\_}{I} + {{{\underset{\_}{\Phi}}_{zz}^{- 1}(k)}\quad {\underset{\_}{H}(k)}{{\underset{\_}{\Phi}}_{xx}(k)}{{\underset{\_}{H}}^{H}(k)}}}}}}}},} & {{Eq}\quad (1)}\end{matrix}$

[0034] subject to${{\sum\limits_{k = 1}^{N_{F}}{{trace}\left\lbrack {{\underset{\_}{\Phi}}_{xx}(k)} \right\rbrack}} = E_{T}},$

[0035] where E_(T) is the total available transmit power for the MIMOsystem;

[0036]Φ _(zz)(k) is an N_(R)×N_(R) power spectral density matrix of anN_(R)×1 noise process vector, z(n), at the receiver at frequency f_(k);

[0037]H(k) is an N_(R)×N_(T) channel frequency response matrix atfrequency f_(k); and

[0038]Φ _(xx)(k) is an N_(T)×N_(T) power spectral density matrix of anN_(T)×1 transmitted signal vector, x(n), at frequency f_(k).

[0039] The singular value decomposition (SVD) of the channel frequencyresponse matrix H(k) at frequency f_(k) may be expressed as:

H (k)= U (k)λ(k) V ^(H)(k),   Eq (2)

[0040] where U(k) is an N_(R)×N_(R) unitary matrix (i.e., U ^(H) U=I,where I is the identity matrix with ones along the diagonal and zeroseverywhere else);

[0041]λ(k) is an N_(R)×N_(T) diagonal matrix of singular values of H(k);and

[0042]V(k) is an N_(T)×N_(T) unitary matrix.

[0043] The diagonal matrix λ(k) contains non-negative real values alongthe diagonal (i.e., λ(k)=diag (λ₁(k), λ₂(k), . . . , λ_(N) _(T) (k)))and zeros elsewhere. The λ₁(k) are referred to as the singular values ofthe matrix H(k). The singular value decomposition is a matrix operationknown in the art and described in various references. One such referenceis a book by Gilbert Strang entitled “Linear Algebra and ItsApplications,” Second Edition, Academic Press, 1980, which isincorporated herein by reference.

[0044] It can be shown that in the uncorrelated white noise case (i.e.,when${{{\underset{\_}{\Phi}}_{zz}(k)} = {\frac{N_{0}}{T_{0}}\underset{\_}{I}}},$

[0045] where N₀ is the power spectral density of the noise at thereceiver and 1/T₀ is the bandwidth, in Hertz, of a frequency bin), thechannel capacity is achieved when the power spectral density matrix Φ_(xx)(k) of the transmitted signal vector x(n) satisfies the condition:

Φ _(xx)(k)= V (k) E _(λ)(k) V ^(H)(k),   Eq (3)

[0046] where E _(λ)(k) is an N_(T)×N_(T) diagonal matrix containing aset of energies (or transmit powers) assigned to the eigen-modes atfrequency f_(k). The diagonal matrix E _(λ)(k) is the solution to thewell-known “water-pouring” transmit energy distribution technique, whichmay be expressed as: $\begin{matrix}{{{E_{i,\lambda}(k)} = {\max \left\lbrack {{B - \frac{N_{0}}{{{\lambda_{i}(k)}}^{2}}},0} \right\rbrack}},{and}} & {{Eq}\quad \left( {4a} \right)} \\{{E_{T} = {\sum\limits_{i = 1}^{\min {({N_{R},N_{T}})}}{\sum\limits_{k = 1}^{N_{F}}{E_{i,\lambda}(k)}}}},} & {{Eq}\quad \left( {4b} \right)}\end{matrix}$

[0047] where B is a constant derived from various system parameters.

[0048] The water-pouring technique is analogous to pouring a fixedamount of water into a vessel with an irregular bottom, where eacheigen-mode of each frequency bin corresponds to a point on the bottom ofthe vessel, and the elevation of the bottom at any given pointcorresponds to the inverse of the SNR associated with that eigen-mode. Alow elevation thus corresponds to a high SNR and, conversely, a highelevation corresponds to a low SNR. The total available transmit power,E_(T), is then “poured” into the vessel such that the lower points inthe vessel (i.e., higher SNRs) are filled first, and the higher points(i.e., lower SNRs) are filled later. The constant B is indicative of thewater surface level for the vessel after all of the total availabletransmit power has been poured, and may be estimated initially based onvarious system parameters. The transmit power distribution is dependenton the total available transmit power and the depth of the vessel overthe bottom surface, and the points with elevations above the watersurface level are not filled (i.e., eigen-modes with SNRs below aparticular threshold are not used).

[0049] The water-pouring technique is described by Robert G. Gallager,in “Information Theory and Reliable Communication,” John Wiley and Sons,1968, which is incorporated herein by reference. A specific algorithmfor performing the basic water-pouring process for a MIMO-OFDM system isdescribed in U.S. patent application Ser. No. 09/978,337, entitled“Method and Apparatus for Determining Power Allocation in a MIMOCommunication System,” filed Oct. 15, 2001, assigned to the assignee ofthe present application and incorporated herein by reference.

[0050] The formulation of channel capacity shown in equations (1)through (4) suggests that an OFDM-based implementation may be used toachieve channel capacity by performing water-pouring in the frequencydomain. With frequency-domain water-pouring, the total availabletransmit power is allocated to the N_(F) frequency subchannels (or bins)on a bin-by-bin basis, with more power being allocated to bins achievinghigher SNRs and less or no power being allocated to bins achieving lowerSNRs. This would then necessitate the use of separate coding and/ormodulation schemes for each bin, which can complicate the coding anddecoding at the transmitter and receiver, respectively.

[0051] Aspects of the invention provide techniques for achieving highperformance (i.e., channel capacity) via a time-domain implementationthat uses frequency-domain singular value decomposition andwater-pouring results to derive time-domain pulse-shaping andbeam-steering solutions at the transmitter and receiver.

[0052] The singular value decomposition is performed at the transmitterto determine the eigen-modes of the MIMO channel and to derive a firstset of steering vectors that are used to precondition the modulationsymbols. The singular value decomposition is also performed at thereceiver to derive a second set of steering vectors that are used toprecondition the received signals such that orthogonal symbol streamsare recovered at the receiver, which can simplify the receiverprocessing. Water-pouring analysis is used to more optimally allocatethe total available transmit power for the MIMO system to theeigen-modes such that high performance is achieved. The allocatedtransmit power may then determine the data rate and the coding andmodulation scheme to be used for each eigen-mode.

[0053] The techniques described herein provide several potentialadvantages. First, with time-domain eigen-mode decomposition, themaximum number of data streams with different SNRs, and thus differentcoding/modulation requirements, is given by min(N_(T),N_(R)). It is alsopossible to make the received SNRs for the data streams essentially thesame, thereby further simplifying the coding/modulation. The inventivetechniques can thus greatly simplify the coding/modulation for a datatransmission by avoiding the per-bin bit allocation required to approachchannel capacity in OFDM systems that utilize frequency-domainwater-pouring.

[0054] Second, the orthogonalization process at the receiver results indecoupled (i.e., orthogonal) received symbol streams. This then greatlyreduces the complexity of the time-domain equalization required for thedecoupled symbol streams. In this case, the equalization may be achievedby simple linear space-time processing followed by parallel time-domainequalization of the independent symbol streams. In contrast, otherwide-band time-domain techniques typically require more complicatedspace-time equalization to recover the symbol streams.

[0055] Third, the time-domain signaling techniques of the invention canmore easily integrate the channel/pilot structures of various CDMAstandards, which are also based on time-domain signaling. Implementationof channel/pilot structures may be more complicated in OFDM systems thatperform frequency-domain signaling.

[0056]FIG. 2 is a block diagram of an embodiment of a transmitter unit200 capable of implementing various aspects and embodiments of theinvention. Transmitter unit 200 is an embodiment of the transmitterportion of transmitter system 110 in FIG. 1. Transmitter unit 200includes (1) a TX data processor 114 a that receives and processestraffic and pilot data to provide N_(T) modulation symbol streams and(2) a TX MIMO processor 120 a that preconditions the modulation symbolstreams to provide N_(T) preconditioned modulation symbol streams. TXdata processor 114 a and TX MIMO processor 120 a are one embodiment ofTX data processor 114 and TX MIMO processor 120, respectively, in FIG.1.

[0057] In the specific embodiment shown in FIG. 2, TX data processor 114a includes an encoder 212, a channel interleaver 214, and a symbolmapping element 216. Encoder 212 receives and codes the traffic data(i.e., the information bits, b_(i)) in accordance with one or morecoding schemes to provide coded bits. The coding increases thereliability of the data transmission. In an embodiment, a separatecoding scheme may be used for the information bits for each spatialsubchannel. In alternative embodiments, a separate coding scheme may beused for each subset of spatial subchannels, or a common coding schememay be used for all spatial subchannels. The coding scheme(s) to be usedis determined by the controls from controller 130, which may bedetermined based on CSI received from the receiver system. Each selectedcoding scheme may include any combination of cyclic redundancy check(CRC), convolutional coding, Turbo coding, block coding, and othercoding, or no coding at all.

[0058] Channel interleaver 214 interleaves the coded bits based on oneor more interleaving schemes (e.g., one interleaving scheme for eachselected coding scheme). The interleaving provides time diversity forthe coded bits, permits the data to be transmitted based on an averageSNR for each spatial subchannel used for the data transmission, combatsfading, and further removes correlation between coded bits used to formeach modulation symbol.

[0059] Symbol mapping element 216 then receives and multiplexes pilotdata with the interleaved data and further maps the multiplexed data inaccordance with one or more modulation schemes to provide modulationsymbols. A separate modulation scheme may be used for each spatialsubchannel or for each subset of spatial subchannels. Alternatively, acommon modulation scheme may be used for all spatial subchannels. Thesymbol mapping for each spatial subchannel may be achieved by groupingsets of bits to form non-binary symbols and mapping each non-binarysymbol to a point in a signal constellation corresponding to themodulation scheme (e.g., QPSK, M-PSK, M-QAM, or some other scheme)selected for that spatial subchannel. Each mapped signal pointcorresponds to a modulation symbol. Symbol mapping element 216 providesa vector of modulation symbols for each symbol period, with the numberof modulation symbols in each vector corresponding to the number ofspatial subchannels selected for use for that symbol period. Symbolmapping element 216 thus provides up to N_(T) modulation symbol streams(i.e., a sequence of symbol vectors with each vector including up toN_(T) modulation symbols), which are also referred to herein as thetransmitted symbol vector, s(n).

[0060] The response of the MIMO channel to be used for data transmissionis estimated and used to precondition the transmitted symbol vectorprior to transmission to the receiver system. In a frequency divisionduplex (FDD) system, the downlink and uplink are allocated differentfrequency bands, and the responses for the downlink and uplink may notbe correlated to a sufficient degree. For the FDD system, the channelresponse may be estimated at the receiver and sent back to thetransmitter. In a time division duplex (TDD) system, the downlink anduplink share the same frequency band in a time division multiplexedmanner, and a high degree of correlation may exist between the downlinkand uplink responses. For the TDD system, the transmitter system canestimate the uplink channel response (e.g., based on the pilottransmitted by the receiver system on the uplink) and derive thedownlink channel response by accounting for differences between thetransmit and receive antenna array manifolds.

[0061] In an embodiment, channel response estimates are provided to TXMIMO processor 120 a as a sequence of N_(R)×N_(T) matrices oftime-domain samples,

(n). The (i, j)-th element of the estimated channel impulse responsematrix

(n), for 1≦i≦N_(R) and 1≦j≦N_(T), is a sequence of samples representingthe sampled impulse response of the propagation path from the j-thtransmit antenna to the i-th receive antenna.

[0062] Within TX MIMO processor 120 a, a fast Fourier transformer 222receives the estimated channel impulse response matrix,

(n), (e.g., from the receiver system) and derives the correspondingestimated channel frequency response matrix, Ĥ(k), by performing a fastFourier transform (FFT) on

(n) (i.e., Ĥ(k)=FFT [

(n)]). This may be achieved by performing an N_(F)-point FFT on asequence of N_(F) samples for each element of

(n) to derive a sequence of N_(F) coefficients for the correspondingelement of Ĥ(k). The N_(R)·N_(T) elements of Ĥ(k) are thus N_(R)·N_(T)sequences representing the frequency responses of the propagation pathsbetween the N_(T) transmit antennas and N_(R) receive antennas. Eachelement of Ĥ(k) is the FFT of the corresponding element of

(n).

[0063] A block 224 then computes the singular value decomposition of theestimated channel frequency response matrix, Ĥ(k), for each value of k,where 0≦k≦(N_(F)−1) and N_(F) is the length of the FFT (i.e., N_(F)corresponds to the number of frequency bins). The singular valuedecomposition may be expressed as shown in equation (2), which is:

Ĥ (k)= U (k)λ(k) V ^(H)(k).

[0064] The result of the singular value decomposition is three sequencesof N_(F) matrices, U(k), λ(k), and V ^(H)(k), for 0≦k≦(N_(F)−1). Foreach value of k, U(k) is the N_(R)×N_(R) unitary matrix of lefteigen-vectors of Ĥ(k), V(k) is the N_(T)×N_(T) unitary matrix of righteigen-vectors of Ĥ(k), and λ(k) is the N_(R)×N_(T) diagonal matrix ofsingular values of Ĥ(k).

[0065] The singular value decomposition is used to decompose the MIMOchannel into its eigen-modes, at the frequency f_(k) associated withfrequency bin k, for each value of k, 0≦k≦(N_(F)−1). The rank r(k) ofĤ(k) corresponds to the number of eigen-modes for the MIMO channel atfrequency f_(k), which corresponds to the number of independent channels(i.e., the number of spatial subchannels) available in frequency bin k.As described in further detail below, the columns of V(k) are thesteering vectors associated with frequency f_(k) to be used at thetransmitter for the elements of the transmitted symbol vector, s(n).Correspondingly, the columns of U(k) are the steering vectors associatedwith frequency f_(k) to be used at the receiver for the elements of thereceived signal vector, r(n). The matrices U(k) and V(k), for0≦≦(N_(F)−1), are used to orthogonalize the symbol streams transmittedon the eigen-modes at each frequency f_(k). When these matrices are usedcollectively to preprocess the transmitted and received symbol streams,either in the frequency domain or the time domain, as described indetail below, the result is the overall orthogonalization of thereceived symbol stream. This then allows for separate coding/modulationper eigen-mode (as opposed to per bin) and further simplification of theequalization of the received symbol streams at the receiver, asdescribed below.

[0066] The elements along the diagonal of λ(k) are λ_(ii)(k) for1≦i≦r(k), where r(k) is the rank of Ĥ(k). The columns of U(k) and V(k),u _(i)(k) and v _(i)(k), respectively, are solutions to the eigenequation, which may be expressed as:

Ĥ (k) v _(i)(k)=λ_(ii) u _(i)(k).   Eq (5)

[0067] The U(k), λ(k), and V(k) matrices may be provided in two forms—a“sorted” form and a “random-ordered” form. In the sorted form, thediagonal elements of λ(k) are sorted in decreasing order so thatλ₁₁(k)≧λ₂₂(k)≧ . . . ≧λ_(rr)(k), and their eigen-vectors are arranged incorresponding order in U(k) and V(k). The sorted form is indicatedherein by the subscript s, i.e., U _(s)(k), λ _(s)(k), and V _(s)(k). Inthe random-ordered form, the ordering of the singular values andeigen-vectors is random and independent of frequency. The random form isindicated herein by the subscript r. The particular form selected foruse, sorted or random-ordered, determines the eigen-modes to be used forthe data transmission and the coding and modulation scheme to be usedfor each selected eigen-mode.

[0068] A water-pouring analysis block 226 then receives the set ofsingular values for each frequency bin, which is contained in thesequence of matrices, λ(k), and CSI that includes the received SNRcorresponding to each singular value. The received SNR is the SNRachieved at the receiver for the recovered modulation symbols, asdescribed below. The matrices λ(k) are used in conjunction with thereceived SNRs to derive the sequence of diagonal matrices, E _(λ)(k),which are the solution to the water-pouring equations (4a) and (4b). Asnoted above, the diagonal matrices E _(λ)(k) contain the set of energiesor transmit powers assigned to the eigen-modes at each of the N_(F)frequency bins. The water-pouring analysis used to derive the diagonalmatrices, E _(λ)(k), may be performed as described in the aforementionedU.S. patent application Ser. No. [Attorney Docket No. 010467].

[0069] A scaler/IFFT 228 receives the unitary matrices, V(k), and thediagonal matrices, E _(λ)(k), for all N_(F) frequency bins, and derivesa spatio-temporal pulse-shaping matrix, P _(tx)(n), for the transmitterbased on the received matrices. Initially, the square root of thediagonal matrices, E _(λ)(k), is computed to derive a sequence ofdiagonal matrices, {square root}{square root over (E)}_(λ)(k), whoseelements are the square roots of the elements of E _(λ)(k). The elementsof the diagonal matrices, E _(λ)(k), are representative of the transmitpower allocated to the eigen-modes. The square root then transforms thepower allocation to the equivalent signal scaling. The product of thesquare-root diagonal matrices, {square root}{square root over(E)}_(λ)(k), and the unitary matrices, V(k), which are the sequence ofmatrices of right eigen-vectors of Ĥ(k), is then computed. This product,V(k){square root}{square root over (E)}_(λ)(k), defines the optimalspatio-spectral shaping to be applied to the transmitted symbol vector,s(n).

[0070] An inverse FFT of the product V(k){square root}{square root over(E)}_(λ)(k) is then computed to derive the spatio-temporal pulse-shapingmatrix, P _(tx)(l), for the transmitter, which may be expressed as:

P _(tx)(l)=IFFT[V (k){square root}{square root over (E)} _(λ)(k)].   Eq(6)

[0071] The pulse-shaping matrix, P _(tx)(l), is an N_(T)×N_(T) matrix.Each element of P _(tx)(l) is a sequence of values. Each column of P_(tx)(l) is a steering vector for a corresponding element of s(n).

[0072] A convolver 230 receives and preconditions (e.g., convolves) thetransmitted symbol vector, s(n), with the pulse-shaping matrix, P_(tx)(l), to derive the transmitted signal vector, x(n). The convolutionof s(n) with P _(tx)(l) may be expressed as: $\begin{matrix}{{\underset{\_}{x}(n)} = {\sum\limits_{l}{{{\underset{\_}{P}}_{tx}(l)}{{\underset{\_}{s}\left( {n - l} \right)}.}}}} & {{Eq}\quad (7)}\end{matrix}$

[0073] The matrix convolution shown in equation (7) may be performed asfollows. To derive the i-th element of the vector x(n) for time n, x_(i)(n), the inner product of the i-th row of the matrix P _(tx)(l) with thevector s(n−l) is formed for a number of delay indices (e.g.,0≦l≦(N_(F)−1)), and the results are accumulated to derive the elementx_(i)(n). The signal transmitted on each transmit antenna (i.e., eachelement of x(n) or x_(i)(n)) is thus formed as a weighted combination ofthe N_(R) modulation symbol streams, with the weighting determined bythe appropriate column of the matrix P _(tx)(l). The process is repeatedsuch that each element of the vector x(n) is derived from a respectivecolumn of the matrix P _(tx)(l) and the vector s(n).

[0074] Each element of the transmitted signal vector, x(n), correspondsto a sequence of preconditioned symbols to be transmitted over arespective transmit antenna. The N_(T) preconditioned symbol sequences(i.e., a sequence of preconditioned symbol vectors with each vectorincluding up to N_(T) preconditioned symbols) correspond to N_(T)transmitted signals, and are also referred to herein as the transmittedsignal vector, x(n). The N_(T) transmitted signals are provided totransmitters 122 a through 122 t and processed to derive N_(T) modulatedsignals, which are then transmitted from antennas 124 a through 124 t,respectively.

[0075] The embodiment shown in FIG. 2 performs time-domain beam-steeringof the transmitted symbol vector, s(n). The beam-steering may also beperformed in the frequency domain. In this case, the vector s(n) may betransformed via an FFT to derive a frequency-domain vector S(k). Thevector S(k) is then multiplied with the matrix V(k){square root}{squareroot over (E)}_(λ)(k) to derive a frequency-domain vector X(k), asfollows:

X (k)=[ V (k){square root}{square root over (E)} _(λ)(k)] S (k).

[0076] The transmitted signal vector, x(n), may then be derived byperforming an =IFFT on the vector X(k) (i.e., x(n)=IFFT[X(k)]).

[0077]FIG. 3 is a block diagram of an embodiment of a receiver unit 300capable of implementing various aspects and embodiments of theinvention. Receiver unit 300 is an embodiment of the receiver portion ofreceiver system 150 in FIG. 1. Receiver unit 300 includes (1) a RX MIMOprocessor 160 a that processes N_(R) received sample streams to provideN_(T) recovered symbol streams and (2) a RX data processor 162 a thatdemodulates, deinterleaves, and decodes the recovered symbols to providedecoded bits. RX MIMO processor 160 a and RX data processor 162 a areone embodiment of RX MIMO processor 160 and RX data processor 162,respectively, in FIG. 1.

[0078] Referring back to FIG. 1, the transmitted signals from N_(T)transmit antennas are received by each of N_(R) antennas 152 a through152 r, and the received signal from each antenna is routed to arespective receiver 154 (which is also referred to as a front-endprocessor). Each receiver 154 conditions (e.g., filters and amplifies) arespective received signal, downconverts the conditioned signal to anintermediate frequency or baseband, and digitizes the downconvertedsignal to provide ADC samples. Each receiver 154 may further datademodulate the ADC samples with a recovered pilot to generate arespective stream of received samples. Receivers 154 a through 154 rthus collectively provide N_(R) received sample streams (i.e., asequence of vectors with each vector including up to N_(R) samples),which are also referred to as the received signal vector, r(n). Thereceived signal vector, r(n), is then provided to RX MIMO processor 160a.

[0079] Within RX MIMO processor 160 a, a channel estimator 312 receivesthe vector r(n) and derives an estimated channel impulse responsematrix,

(n), which may be sent back to the transmitter system and used in thetransmit processing. An FFT 314 then performs an FFT on the estimatedchannel impulse response matrix,

(n), to derive the estimated channel frequency response matrix, Ĥ(k).

[0080] A block 316 then computes the singular value decomposition ofĤ(k) for each value of k to obtain the matrix of left eigen-vectors,U(k), for the corresponding frequency bin k. Each column of U(k) is asteering vector for a corresponding element of r(n), and is used toorthogonalize the received symbol streams at the receiver system. AnIFFT 318 then performs the inverse FFT of U(k) to derive aspatio-temporal pulse-shaping matrix,

(l), for the receiver system.

[0081] A convolver 320 then derives the received symbol vector,{circumflex over (r)}(n), which is an estimate of the transmitted symbolvector, s(n), by performing a convolution of the received signal vector,r(n), with the conjugate transpose of the spatio-temporal pulse-shapingmatrix,

^(H)(l). This convolution may be expressed as: $\begin{matrix}{{\hat{\underset{\_}{r}}(n)} = {\sum\limits_{l}{{{\underset{\_}{}}^{H}(l)}\quad {{\underset{\_}{r}\left( {n - l} \right)}.}}}} & {{Eq}\quad (8)}\end{matrix}$

[0082] The pulse-shaping at the receiver may also be performed in thefrequency domain, similar to that described above for the transmitter.In this case, the received signal vector, r(n), may be transformed viaan FFT to derive a frequency-domain vector R(k). The vector R(k) is thenpre-multiplied with the conjugate transpose matrix U ^(H)(k) to derive afrequency-domain vector {circumflex over (R)}(k). The result of thismatrix multiplication, {circumflex over (R)}(k), can then be transformedvia an inverse FFT to derive the time-domain received symbol vector,{circumflex over (r)}(n). The convolution of the vector r(n) with thematrix

^(H)(l) can thus be represented in the discrete frequency domain as:

{circumflex over (R)} (k)= U ^(H)(k) R (k)={circumflex over (λ)}(k) S(k)+ {circumflex over (Z)} (k),   Eq (9)

[0083] where {circumflex over (λ)}(k)=λ(k){square root}{square root over(E)}_(λ)(k) is a matrix of weighted singular values of Ĥ(k), with theweights being the square root of the water-pouring solution, {squareroot}{square root over (E)}_(λ)(k);

[0084]S(k) is the FFT of s(n), the transmitted symbol vector;

[0085]R(k) is the FFT of r(n), the received signal vector;

[0086]{circumflex over (R)}(k) is the FFT of {circumflex over (r)}(n),the received symbol vector;

[0087]Z(k) is the FFT of z(n), the vector of received noise samples; and

[0088]{circumflex over (Z)}(k) is the FFT of the received noise processas transformed by the unitary matrix U ^(H)(k).

[0089] From equation (9), the received symbol vector, {circumflex over(r)}(n), may be characterized as a convolution in the time domain, asfollows: $\begin{matrix}{{{\hat{\underset{\_}{r}}(n)} = {{\sum\limits_{l}{{\underset{\_}{\Lambda}(l)}\quad {\underset{\_}{s}\left( {n - l} \right)}}} + {\hat{\underset{\_}{z}}(n)}}},} & {{Eq}\quad (10)}\end{matrix}$

[0090] where Λ(l) is the inverse FFT of {circumflex over(λ)}(k)=λk{square root}{square root over (E)}_(λ)(k); and

[0091]{circumflex over (z)}(n) is the received noise as transformed bythe receiver spatio-temporal pulse-shaping matrix,

^(H)(l).

[0092] The matrix Λ(l) is a diagonal matrix of eigen-pulses, with eachsuch eigen-pulse being derived as the IFFT of the corresponding set ofsingular values in {circumflex over (λ)}(k) for 0≦k≦(N_(F)−1).

[0093] The two forms for ordering the singular values, sorted andrandom-ordered, result in two different types of eigen-pulses. For thesorted form, the resulting eigen-pulse matrix, Λ _(s)(l), is a diagonalmatrix of pulses that are sorted in descending order of energy content.The pulse corresponding to the first diagonal element of the eigen-pulsematrix, {Λ _(s)(l)}₁₁, has the most energy, and the pulses correspondingto elements further down the diagonal have successively less energy.Furthermore, when the SNR is low enough that water-pouring results insome of the frequency bins having no energy, the energy is taken out ofthe smallest eigen-pulses first. Thus, at low SNRs, one or more of theeigen-pulses may have no energy. This has the advantage that at lowSNRs, the coding and modulation are simplified through the reduction inthe number of orthogonal subchannels. However, in order to approachchannel capacity, it is necessary to code and modulate separately foreach eigen-pulse.

[0094] The random-ordered form of the singular values in the frequencydomain may be used to further simplify coding and modulation (i.e., toavoid the complexity of separate coding and modulation for each elementof the eigen-pulse matrix). In the random-ordered form, for eachfrequency bin, the ordering of the singular values is random instead ofbeing based on their size. This random ordering can result inapproximately equal energy in all of the eigen-pulses. When the SNR islow enough to result in frequency bins with no energy, these bins arespread approximately evenly among the eigen-modes so that the number ofeigen-pulses with non-zero energy is the same independent of SNR. Athigh SNRs, the random-order form has the advantage that all of theeigen-pulses have approximately equal energy, in which case separatecoding and modulation for different eigen-modes is not required.

[0095] If the response of the MIMO channel is frequency selective (i.e.,different values for H(k) for different values of k), the eigen-pulsesin the matrix Λ(l) are time-dispersive. In this case, the resultingreceived symbol sequences, {circumflex over (r)}(n), have inter-symbolinterference (ISI) that will in general require equalization to providehigh performance. Furthermore, because the singular values in λ(k) arereal, the elements of {circumflex over (λ)}(k)=λ(k){square root}{squareroot over (E)}_(λ)(k) are also real, and the eigen-pulses in the matrixΛ(l) exhibit aliased conjugate symmetry properties. If steps are takento avoid this time-domain aliasing (e.g., by using an FFT length, N_(F),that is sufficiently greater than the number of non-zero samples in theestimated channel impulse response matrix,

(n) then the eigen-pulse matrix is conjugate symmetric in the delayvariable, l, i.e., λ(l)=Λ·(−l).

[0096] An equalizer 322 receives the received symbol vector, {circumflexover (r)}(n), and performs space-time equalization to derive a recoveredsymbol vector, ŝ(n), which is an estimate of the transmitted symbolvector, s(n). The equalization is described in further detail below. Therecovered symbol vector, ŝ(n), is then provided to RX data processor 162a.

[0097] Within RX data processor 162 a, a symbol unmapping element 332demodulates each recovered symbol in ŝ(n) in accordance with ademodulation scheme (e.g., M-PSK, M-QAM) that is complementary to themodulation scheme used for that symbol at the transmitter system. Thedemodulated data from symbol unmapping element 332 is thende-interleaved by a deinterleaver 334, and the deinterleaved data isfurther decoded by a decoder 336 to obtain the decoded bits, {circumflexover (b)}_(i), which are estimates of the transmitted information bits,b_(i). The deinterleaving and decoding are performed in a mannercomplementary to the interleaving and encoding, respectively, performedat the transmitter system. For example, a Turbo decoder or a Viterbidecoder may be used for decoder 336 if Turbo or convolutional coding,respectively, is performed at the transmitter system.

Minimum Mean Square Error (MMSE) Equalization

[0098] As shown in equation (10), an equivalent channel for the receivedsymbol vector, {circumflex over (r)}(n), has an impulse response (i.e.,a unit sample response) of Λ(l), which is the diagonal matrix ofeigen-pulses, and a corresponding frequency response of λ(f). A matchedfilter receiver for {circumflex over (r)}(n) would then include a filtermatched to the impulse response of Λ(l). Such a matched filter wouldhave an impulse response of Λ ^(H)(−l) and a frequency response ofλ′(f), which may be expressed as: $\begin{matrix}{{{\underset{\_}{\lambda}}^{t}(f)} = {\sum\limits_{l = {- \infty}}^{\infty}{{{\underset{\_}{\Lambda}}^{H}(l)}\quad {^{j\quad 2\quad \pi \quad f\quad l}.}}}} & {{Eq}\quad (11)}\end{matrix}$

[0099] The end-to-end frequency response of the equivalent channel for{circumflex over (r)}(n) and its matched filter may be given asψ(f)=λ(f)λ′(f).

[0100] The end-to-end frequency response of ψ(f) may be spectrallyfactorized into a hypothetical filter and its matched filter. Thishypothetical filter would have a causal impulse response of Γ(l), whereΓ(l)=0 for l<0, and a frequency response of γ(f). The end-to-endfrequency response of the hypothetical filter and its matched filter is(by definition) equal to the end-to-end frequency response of theequivalent channel and its matched filter, i.e., γ(f)γ ^(H)(f)=ψ(f).

[0101] For the following analysis, an equivalent channel model may bedefined to have spectrally white noise. This may be achieved by applyinga noise-whitening filter having a frequency response matrix, (γ^(H)(f))⁺=(γ(f)γ ^(H)(f))⁻¹ γ(f), which is the Moore-Penrose inverse ofγ ^(H) (f), to the output of the receiver matched filter. The overallfrequency response of the channel (with frequency response of λ(f)), thematched filter (with frequency response of λ′(f)), and thenoise-whitening filter (with frequency response of (γ ^(H)(f))⁺) maythen be expressed as:

λ(f)λ′(f)(γ ^(H)(f))⁺=ψ(f)(γ ^(H)(f))⁺=γ(f).   Eq (12)

[0102] The impulse response Γ(l) corresponding to the frequency responseγ(f) is a diagonal matrix.

[0103]FIG. 4A is a diagram of a minimum mean square error linearequalizer (MMSE-LE) 414 derived based on an equivalent channel model.The received symbol vector, {circumflex over (r)}(n), is filtered by a(hypothetical) whitened matched filter 412 to provide a filtered symbolvector, {tilde over (r)}(n). Whitened matched filter 412 performs thedual function of matched filtering for {circumflex over (r)}(n) andnoise whitening, and has a response of λ′(f)(γ ^(H)(f))⁺. The filteredsymbol vector, {tilde over (r)}(n), is the output of the equivalentchannel model and may be expressed as: $\begin{matrix}{{{\overset{\sim}{\underset{\_}{r}}(n)} = {{{\sum\limits_{l = 0}^{L}{{\underset{\_}{\Gamma}(l)}\quad {\underset{\_}{s}\left( {n - l} \right)}}} + {\underset{\_}{z}(n)}} = {{\underset{\underset{\_}{\_}}{\Gamma}\quad {\underset{\underset{\_}{\_}}{s}(n)}} + {\overset{\sim}{\underset{\_}{z}}(n)}}}},} & {{Eq}\quad (13)}\end{matrix}$

[0104] where Γ is an N_(R)×(L+1)N_(T) block-structured matrix thatrepresents the sequence of matrices, Γ(l), for the sampledchannel-whitened eigen-pulses and can be represented as:

Γ=[Γ(0)Γ(1) . . . Γ(L)],

[0105] and s(n) is a sequence of L+1 vectors of modulation symbols andcan be represented as:${\underset{\underset{\_}{\_}}{s}(n)} = {\begin{bmatrix}{\underset{\_}{s}(n)} \\{\underset{\_}{s}\left( {n - 1} \right)} \\\vdots \\{\underset{\_}{s}\left( {n - L} \right)}\end{bmatrix}.}$

[0106] Each vector of s(n) comprises up to N_(T) symbols and each symbolin the vector is associated with one of the eigen-pulses in the matrixΓ. The blocks of Γ (i.e., Γ(0), Γ(1), . . . , Γ(L)) are all diagonal.

[0107] When the receiver input noise is white and has a power spectraldensity of N₀ I, the noise vector {circumflex over (z)}(n) has anautocorrelation function, φ _({circumflex over (zz)})(k), which can beexpressed as:

φ _({circumflex over (zz)})(m)=E[{circumflex over (z)} (n−m) {circumflexover (z)} ^(H)(n)]=N ₀ φ _(UU)(m),   Eq (14)

[0108] where${{{\underset{\_}{\phi}}_{}(m)} = {\sum\limits_{}{{{\underset{\_}{}}^{H}()}\quad {\underset{\_}{}\left( { + m} \right)}}}},$

[0109] Since the sequence of matrices, V(k), of right eigen-vectors ofĤ(k) are all unitary, then V ^(H)(k)V(k)=I for each value of k. As aresult, φ _(UU)(m), which is the inverse FFT of the sequence V ^(H)(k)V(k), is given by:

φ _(UU)(m)= I δ(m),   Eq (15)

[0110] where δ(m) is the unit sample sequence, which may be expressedas: ${\delta (m)} = \left\{ {\begin{matrix}{1,} & {m = 0} \\{0,} & {otherwise}\end{matrix}.} \right.$

[0111] The noise vector, {tilde over (z)}(n), after the whitened matchedfilter has an autocorrelation function, φ _({circumflex over (zz)})(m),which may then be expressed as:

φ _({tilde over (zz)})(m)=φ _({circumflex over (zz)})(m)=N ₀ I δ(m).  Eq (16)

[0112] An MMSE-LE computes an initial estimate, {tilde over (s)}(n), ofthe transmitted symbol vector, s(n), at time n by performing a matrixconvolution of the sequence of filtered symbol vectors, {tilde over(r)}(n), with a sequence of 2K+1, N_(T)×N_(R) weight matrices, M(l), asfollows: $\begin{matrix}{{{\overset{\sim}{\underset{\_}{s}}(n)} = {{\sum\limits_{ = {- K}}^{K}{{\underset{\_}{M}()}\quad {\overset{\sim}{\underset{\_}{r}}\left( {n - } \right)}}} = {\underset{\underset{\_}{\_}}{M\quad \overset{\sim}{r}}\quad (n)}}},} & {{Eq}\quad (17)}\end{matrix}$

[0113] where M=[M(−K) . . . M(0) . . . M(K)];

[0114] K is a parameter that determines the delay-extent of theequalizer; and${\overset{\sim}{\underset{\underset{\_}{\_}}{r}}(n)} = {\begin{bmatrix}{\underset{\_}{\overset{\sim}{r}}\left( {n + K} \right)} \\\vdots \\{\underset{\_}{\overset{\sim}{r}}(n)} \\\vdots \\{\underset{\_}{\overset{\sim}{r}}\left( {n - K} \right)}\end{bmatrix}.}$

[0115] The sequence of weight matrices, M(l), is selected to minimizethe mean-square error, which can be expressed as:

ε=E{e ^(H)(n)e(n)},   Eq (18)

[0116] where the error e(n) can be expressed as:

e (n)= s (n)− {tilde over (s)} (n).   Eq (19)

[0117] The MMSE solution can then be stated as the sequence of weightmatrices, M(l), that satisfy the following linear constraints:$\begin{matrix}{{\sum\limits_{ = {- K}}^{K}{{\underset{\_}{M}()}\quad {{\underset{\_}{\phi}}_{\overset{\sim}{r}\overset{\sim}{r}}\left( { - m} \right)}}} = \left\{ {\begin{matrix}{0,} & {{- K} \leq m < {- L}} \\{{{\underset{\_}{\Gamma}}^{H}\left( {- m} \right)},} & {{- L} \leq m \leq 0} \\{0,} & {0 < m \leq K}\end{matrix},} \right.} & {{Eq}\quad (20)}\end{matrix}$

[0118] where φ _({tilde over (rr)})(m) is a sequence of N_(R)×N_(R)space-time correlation matrices. The matrices φ _({tilde over (rr)})(m)can be expressed as: $\begin{matrix}\begin{matrix}{{{\underset{\_}{\phi}}_{\overset{\sim}{r}\overset{\sim}{r}}(m)} = {E\left\lbrack {{\overset{\sim}{\underset{\_}{r}}\left( {n - m} \right)}{{\overset{\sim}{\underset{\_}{r}}}^{H}(n)}} \right\rbrack}} \\{= \left\{ {\begin{matrix}{{{\sum\limits_{ = 0}^{L}{{\underset{\_}{\Gamma}()}\quad {\underset{\_}{\Gamma}\left( { + m} \right)}}} + {{\underset{\_}{\phi}}_{zz}(m)}},} & {{- L} \leq m \leq L} \\{{{\underset{\_}{\phi}}_{zz}(m)},} & {otherwise}\end{matrix},} \right.}\end{matrix} & {{Eq}\quad (21)}\end{matrix}$

[0119] where φ _({tilde over (rr)})(m) is given by equations (14)through (16).

[0120] For spatially and temporally uncorrelated noise, φ_({tilde over (zz)})(m)=N₀ Iδ(m). In this case, all of the off-diagonalterms in φ _({tilde over (rr)})(l−m) and Γ ^(T)(−m) are zero, and all ofthe off-diagonal terms in M(l) are also zero, which then results in aset of decoupled equations for the equalizer coefficients. Thus, thelinear constraints in equation (20) may be simplified as follows:$\begin{matrix}{{{\sum\limits_{ = {- K}}^{K}{{m_{ii}()}\left( {{\underset{\_}{\phi}}_{\overset{\sim}{r}\overset{\sim}{r}}\left( { - m} \right)} \right)_{ii}}} = {\Gamma_{ii}^{*}\left( {- m} \right)}},\begin{matrix}{{{{for}\quad 1} \leq i \leq r};} & {{- L} \leq m \leq 0}\end{matrix}} & {{Eq}\quad (22)}\end{matrix}$

[0121] where r is the rank of the matrix Ĥ(k).

[0122] Equation (20) can further be represented as:

Mφ _({tilde over (rr)})=Γ ^(H), or M=Γ ^(H) φ _({tilde over (rr)}) ⁻¹,  Eq (23)

[0123] where φ _({tilde over (rr)}) is block-Toeplitz with block j,kgiven by φ _({tilde over (rr)})(j−k) and${\underset{\underset{\_}{\_}}{\Gamma} = \begin{bmatrix}{\underset{\_}{0}}_{{({K - L})}N_{R} \times N_{T}} \\{\underset{\_}{\Gamma}(L)} \\{\underset{\_}{\Gamma}\left( {L - 1} \right)} \\\vdots \\{\underset{\_}{\Gamma}(0)} \\{\underset{\_}{0}}_{{KN}_{R} \times N_{T}}\end{bmatrix}},$

[0124] where 0 _(m×n) is an m×n matrix of zeros.

[0125] The frequency response matrix, m(f), corresponding to thetime-domain weight matrices, M(l)7 −L≦l≦L, for the MMSE-LE may bederived by taking the matrix Fourier transform of M(l), as follows:$\begin{matrix}{{\underset{\_}{m}(f)} = {\sum\limits_{ = {- L}}^{L}{{\underset{\_}{M}()}\quad {^{{- j}\quad 2\quad \pi \quad \quad f}.}}}} & {{Eq}\quad (24)}\end{matrix}$

[0126] Since M(l) is diagonal, the frequency response matrix, m(f), isalso diagonal.

[0127] As shown in FIG. 4A, the filtered symbol vector, {tilde over(r)}(n), is provided to an MMSE-LE 414 and equalized based on thefrequency response matrix, m(f), to derive the symbol vector, {tildeover (s)}(n), which is the estimate of the transmitted symbol vector,s(n). Because of the pulse-shaping performed at both the transmitter andreceiver systems, the received symbol sequences in {circumflex over(r)}(n) are orthogonal and the weight matrices, M(l), for the MMSE-LEare diagonal matrices. Thus, each of the N_(R) received symbol sequencesin {circumflex over (r)}(n) may be equalized independently by theMMSE-LE, which can greatly simplify the receiver processing.

[0128] To determine the SNR associated with the symbol estimates, {tildeover (s)}(n), an unbiased minimum mean square error estimate is firstderived. For the initial symbol estimate, {tilde over (s)}(n), derivedabove, $\begin{matrix}\begin{matrix}{{E\left\lbrack {\overset{\sim}{\underset{\_}{s}}(n)} \middle| {\underset{\_}{s}(n)} \right\rbrack} = {\underset{\underset{\_}{\_}}{M}{E\left\lbrack {\overset{\sim}{\underset{\underset{\_}{\_}}{r}}(n)} \middle| {\underset{\_}{s}(n)} \right\rbrack}}} \\{= \left\lbrack {{{\underset{\_}{M}\left( {- K} \right)}\quad \underset{\underset{\_}{\_}}{\Gamma \quad s}\left( {n + K} \right)} + \cdots +} \right.} \\{\left. {{{\underset{\_}{M}(0)}\underset{\underset{\_}{\_}}{\Gamma \quad s}(n)} + \cdots + {{\underset{\_}{M}(K)}\underset{\underset{\_}{\_}}{\Gamma \quad s}\left( {n - K} \right)}} \right\rbrack,}\end{matrix} & {{Eq}\quad (25)}\end{matrix}$

[0129] where the expectation is taken over the noise. If it is assumedthat the modulation symbols are uncorrelated in time and the expectationis taken over all inter-symbol interference in the above (alltransmitted signal components not transmitted at time n), then theexpectation can be expressed as: $\begin{matrix}\begin{matrix}{E\left\lbrack {{{\underset{\_}{\overset{\sim}{s}}(n)}\left. {\underset{\_}{s}(n)} \right\rbrack} = {\underset{\_}{\underset{\_}{M}}{E\left\lbrack {{\overset{\sim}{\underset{\_}{\underset{\_}{r}}}(n)}\left. {\underset{\_}{s}(n)} \right\rbrack} \right.}}} \right.} \\{\quad {{= {\left\lbrack {{{\underset{\_}{M}(0)}{\underset{\_}{\Gamma}(0)}} + {{\underset{\_}{M}\left( {- 1} \right)}{\underset{\_}{\Gamma}(1)}} + \ldots + {{\underset{\_}{M}\left( {- L} \right)}{\underset{\_}{\Gamma}(L)}}} \right\rbrack {\underset{\_}{s}(n)}}},}} \\{\quad {= {\underset{\_}{\underset{\_}{M\quad \Gamma \quad s}}(n)}}} \\{\quad {= {\underset{\_}{Gs}(n)}}}\end{matrix} & {{Eq}\quad (26)}\end{matrix}$

[0130] where

G=MΓ=Γ ^(H) φ _({tilde over (rr)}) ⁻¹ Γ.

[0131] When the noise is spatially and temporally uncorrelated, M(l),for −K≦l≦K, are diagonal, so G is N_(T)×N_(T) diagonal.

[0132] After averaging over the interference from other spatialsubchannels, the average value of the signal from the i-th transmitantenna at time n can be expressed as:

E[{tilde over (s)}i(n)|s _(i)(n)]=g _(ii) s _(i)(n),   Eq (27)

[0133] where g_(ii) is the i-th diagonal element of G (g_(ii) is ascalar), and {tilde over (s)}_(i)(n) is the i-th element of the initialsymbol estimate, {tilde over (s)}(n).

[0134] By defining

D _(G) ⁻¹=diag(1/g₁₁, 1/g₂₂, . . . , 1/g_(N) _(T) _(N) _(t) ),   Eq (28)

[0135] the unbiased symbol estimate, ŝ(n), of the transmitted symbolvector, s(n), at time n may then be expressed as: $\begin{matrix}{{\hat{\underset{\_}{s}}(n)} = {{{\underset{\_}{D}}_{G}^{- 1}{\overset{\sim}{\underset{\_}{s}}(n)}} = {{\underset{\_}{D}}_{G}^{- 1}{{\underset{\_}{\underset{\_}{M\overset{\sim}{r}}}(n)}.}}}} & {{Eq}\quad (29)}\end{matrix}$

[0136] The error covariance matrix associated with the unbiased symbolestimate, ŝ(n), can be expressed as: $\begin{matrix}\begin{matrix}{{\underset{\_}{\phi}}_{ee} = {\underset{\_}{W} = {E{\left\{ {\left\lbrack {{\underset{\_}{s}(n)} - {{\underset{\_}{D}}_{G}^{- 1}\underset{\_}{\underset{\_}{M\overset{\sim}{r}}}(n)}} \right\rbrack \left\lbrack {{s^{H}(n)} - {{{\overset{\sim}{\underset{\_}{\underset{\_}{r}}}}^{H}(n)}{\underset{\_}{\underset{\_}{M}}}^{H}{\underset{\_}{D}}_{G}^{- 1}}} \right\rbrack} \right\}.}}}} \\{= {\underset{\_}{I} - {{\underset{\_}{D}}_{G}^{- 1}\underset{\_}{G}} - {\underset{\_}{GD}}_{G}^{- 1} + {{\underset{\_}{D}}_{G}^{- 1}{\underset{\_}{GD}}_{G}^{- 1}}}}\end{matrix} & {{Eq}\quad (30)}\end{matrix}$

[0137] For the spatially and temporally uncorrelated noise case, D _(G)⁻¹=G ⁻¹, so in this case W=G ⁻¹−I.

[0138] The SNR associated with the unbiased estimate, ŝ_(i)(n), of thesymbol transmitted on the i-th transmit antenna can finally be expressedas: $\begin{matrix}{{SNR}_{i} = {\frac{1}{w_{ii}} = {\frac{g_{ii}}{1 - g_{ii}}.}}} & {{Eq}\quad (31)}\end{matrix}$

[0139] In FIG. 4A, whitened matched filter 412 in the equivalent channelmodel is provided to simplify the derivation of the MMSE-LE. In apractical implementation, the response of the whitened matched filter is(automatically) incorporated within the response of the MMSE-LE when theMMSE-LE is adapted to minimize the mean square error.

[0140]FIG. 4B is a block diagram of an embodiment of an MMSE-LE 322 a,which is an embodiment of equalizer 322 in FIG. 3. Initially, thematrices H and φ _({tilde over (zz)}) may first be estimated based onthe received pilot and/or data transmissions. The weight matrices M arethen computed according to equation (23).

[0141] Within MMSE-LE 322 a, the received symbol vector, {circumflexover (r)}(n), from RX MIMO processor 160 are pre-multiplied by amultiplier 422 with the weight matrices M to form an initial estimate,{tilde over (s)}(n), of the transmitted symbol vector, s(n), as shownabove in equation (17). The initial estimate, {tilde over (s)}(n), isfurther pre-multiplied by a multiplier 424 with the diagonal matrix D_(G) ⁻¹ to form an unbiased estimate, ŝ(n), of the transmitted symbolvector, s(n), as shown above in equation (29). The unbiased estimate,ŝ(n), comprises the recovered symbol vector that is provided by theMMSE-LE to RX data processor 162.

[0142] The recovered symbol vector, ŝ(n), is also provided to a CSIprocessor 428, which derives CSI for the MIMO channel. For example, CSIprocessor 428 may estimate the SNR of the i-th recovered symbol sequenceaccording to equation (31). The SNRs for the recovered symbol sequencescomprise a part of the CSI that is reported back to the transmitterunit.

[0143] The recovered symbol vector, ŝ(n), are further provided to anadaptive processor 426, which then derives the weight matrices M and thediagonal matrix D _(G) ⁻¹ based on equation (23) and (28), respectively.

Decision Feedback Equalization

[0144] A decision feedback equalizer (DFE) used in conjunction with thewideband eigen-mode transmission forms an initial estimate, {tilde over(s)}(n), of the transmitted symbol vector, s(n), at time n, which can beexpressed as: $\begin{matrix}{{{\overset{\sim}{\underset{\_}{s}}(n)} = {{\sum\limits_{l = {- K_{1}}}^{0}\quad {{{\underset{\_}{M}}_{f}(l)}{\overset{\sim}{\underset{\_}{r}}\left( {n - l} \right)}}} + {\sum\limits_{l = 1}^{K_{2}}\quad {{{\underset{\_}{M}}_{b}(l)}{\underset{\_}{\overset{\Cup}{s}}\left( {n - l} \right)}}}}},} & {{Eq}\quad (32)}\end{matrix}$

[0145] where {tilde over (r)}(n) is the vector of filtered modulationsymbols given by equation (13);

[0146]{haeck over (s)}(n) is a vector of remodulated symbols (i.e.,symbols that have been demodulated and then modulated again);

[0147]M _(f)(l), −K₁≦l≦0, is a sequence of (K₁+1)−N_(T)×N_(R)feed-forward coefficient matrices; and

[0148]M _(b)(l), 1≦l≦K₂, is a sequence of K₂−N_(T)×N_(R) feed-backcoefficient matrices.

[0149] Equation (32) can also be expressed as:

{tilde over (s)} (n)= M _(f) {tilde over (r)} (n)+ M _(b) {haeck over(s)}( n),   Eq (33)

[0150] where M _(f)=[M _(f)(−K₁)M _(f)(−K₁+1) . . . M _(f)(0)];

[0151]M _(b)=[M _(b)(1)M _(b)(2) . . . M _(b)(K₂)]; ${\begin{matrix}{{{\overset{\Cup}{\underset{\_}{\underset{\_}{s}}}(n)}\begin{bmatrix}{\overset{\Cup}{\underset{\_}{s}}\left( {n - 1} \right)} \\{\overset{\Cup}{\underset{\_}{s}}\left( {n - 2} \right)} \\\vdots \\{\underset{\_}{\overset{\Cup}{s}}\left( {n - K_{2}} \right)}\end{bmatrix}};{\quad \quad}{and}} & {{\underset{\_}{\underset{\_}{\overset{\sim}{r}}}(n)} =}\end{matrix}\begin{bmatrix}{\underset{\_}{\overset{\sim}{r}}\left( {n + K_{1}} \right)} \\{\underset{\_}{\overset{\sim}{r}}\left( {n + K_{1} - 1} \right)} \\\vdots \\{\overset{\sim}{\underset{\_}{r}}(n)}\end{bmatrix}}.$

[0152] If the MMSE criterion is used to determine the feed-forward andfeed-back coefficient matrices, then the solutions for M _(f) and M _(b)that minimize the mean square error,

ε=E{e ^(H)(n) e (n)},

[0153] can be used, where the error e(n) is expressed as:

e (n)= {tilde over (s)} (n)− s (n)   Eq (34)

[0154] The MMSE solution for the feed-forward filter, M _(f)(l), for−K_(i)≦l≦0, is determined by the following linear constraints:$\begin{matrix}{{{\sum\limits_{l = {- K_{1}}}^{0}\quad {{{\underset{\_}{M}}_{f}(l)}\left\lbrack {{\sum\limits_{i = 0}^{- l}\quad {{\underset{\_}{\Gamma}(i)}{{\underset{\_}{\Gamma}}^{H}\left( {i + l - m} \right)}}} + {N_{0}\underset{\_}{I}\quad {\delta \left( {l - m} \right)}}} \right\rbrack}} = {{\underset{\_}{\Gamma}}^{H}\left( {- m} \right)}},} & {{Eq}\quad (35)}\end{matrix}$

[0155] and can also be expressed as:

M _(f)={tilde over (Γ)} ^(H) {tilde over (φ)} _({tilde over (rr)}) ⁻¹,  Eq (36)

[0156] where${\underset{\_}{\overset{\sim}{\underset{\_}{\Gamma}}} = \begin{bmatrix}{\underset{\_}{0}}_{{({K_{1} - L})}N_{R} \times N_{T}} \\{\overset{\sim}{\underset{\_}{\Gamma}}(L)} \\{\overset{\sim}{\underset{\_}{\Gamma}}\left( {L - 1} \right)} \\\vdots \\{\overset{\sim}{\underset{\_}{\Gamma}}(0)}\end{bmatrix}},$

[0157] and {tilde over (φ)} _({tilde over (rr)}) is a(K₁+1)N_(R)×(K₁+1)N_(R) matrix made up of N_(R)×N_(R) blocks. The (i,j)-th block in {tilde over (φ)} _({tilde over (rr)}) is given by:$\begin{matrix}{{{\overset{\sim}{\underset{\_}{\phi}}}_{\overset{\sim}{r}\overset{\sim}{r}}\left( {i,j} \right)} = {{\sum\limits_{l = 0}^{K_{1} - i + 1}\quad {{\underset{\_}{\Gamma}(l)}{{\underset{\_}{\Gamma}}^{H}\left( {l + i - j} \right)}}} + {N_{0}\underset{\_}{I\quad}{{\delta \left( {i - j} \right)}.}}}} & {{Eq}\quad (37)}\end{matrix}$

[0158] The MMSE solution for the feed-back filter may be expressed as:$\begin{matrix}\begin{matrix}{{{{\underset{\_}{M}}_{b}(l)} = {- {\sum\limits_{i = {- K_{1}}}^{0}\quad {{{\underset{\_}{M}}_{f}(i)}{\underset{\_}{\Gamma}\left( {l - i} \right)}}}}},\quad {{{for}\quad 1} \leq l \leq K_{2}}} \\{{= {{- {\underset{\_}{\underset{\_}{M}}}_{f}}\underset{\_}{\underset{\_}{\hat{\hat{\Gamma}}}}}},} \\{{{{where}\quad \underset{\_}{\underset{\_}{\hat{\hat{\Gamma}}}}} = \left\lbrack {{\hat{\underset{\_}{\underset{\_}{\Gamma}}}}_{1}{\hat{\underset{\_}{\underset{\_}{\Gamma}}}}_{2}\ldots {\hat{\underset{\_}{\underset{\_}{\Gamma}}}}_{L}{\underset{\_}{0}}_{{({K_{1} + 1})}N_{R} \times {({K_{2} - L})}N_{T}}} \right\rbrack},\quad {{{and}\quad {\underset{\_}{\underset{\_}{\hat{\Gamma}}}}_{l}} = \quad {\begin{bmatrix}{\underset{\_}{0}}_{{({K_{1} - L + l})}N_{R} \times N_{T}} \\{\underset{\_}{\Gamma}(L)} \\\vdots \\{\underset{\_}{\Gamma}(l)}\end{bmatrix}.}}}\end{matrix} & {{Eq}\quad (38)}\end{matrix}$

[0159] Since the matrices Γ(l), for 0≦l≦L, are diagonal, then fromequation (36), the feed-forward filter coefficient matrices, M _(f)(l),for −K₁≦l≦0, are also diagonal. It then follows that the feed-backfilter coefficient matrices, M _(b)(l), for 1≦l≦K₂, are also diagonal.

[0160] The feed-forward filter and feed-back filter have frequencyresponse matrices m _(f)(f) and m _(b)(f) , respectively, which aregiven by: $\begin{matrix}{{{{{{\underset{\_}{m}}_{f}(f)} = {\sum\limits_{l = {- K_{1}}}^{0}{{{\underset{\_}{M}}_{f}(l)}^{{- {j2}}\quad \pi \quad l\quad f}}}},{and}}{{{\underset{\_}{m}}_{b}(f)} = {\sum\limits_{l = 1}^{K_{2}}{{{\underset{\_}{M}}_{b}(l)}{^{{- {j2}}\quad \pi \quad l\quad f}.}}}}}\quad} & {{Eq}\quad (39)}\end{matrix}$

[0161]FIG. 5A is a diagram of a decision feedback equalizer derivedbased on an equivalent channel model. The received symbol vector,{circumflex over (r)}(n), is filtered by a (hypothetical) whitenedmatched filter 512 to provide the filtered symbol vector, {tilde over(r)}(n). The vector {tilde over (r)}(n) is further filtered by afeed-forward filter 514 having the frequency response of m _(f)(f). Theoutput from feed-forward filter 514 is summed with the output from afeed-back filter 518 by a summer 516 to derive the symbol vector {tildeover (s)}(n). This vector {tilde over (s)}(n) is also provided to asymbol decision element 520 to derive the remodulated symbol vector,{haeck over (s)}(n), which represents the detected symbols for thesymbol estimate {tilde over (s)}(n). The remodulated symbol vector maybe derived by (1) demodulating the symbol vector {tilde over (s)}(n),possibly decoding and re-coding the demodulated data, and remodulatingthe demodulated data or re-coded data based on the signal constellationscorresponding to the selected modulation schemes. The remodulated symbolvector, {haeck over (s)}(n), is then filtered by feed-back filter 518with the frequency response of m _(b)(f), and the output of filter 518is provided to summer 516.

[0162] Substituting equation (38) into equation (32) and assumingperfect decisions (i.e., {haeck over (s)}(n)=s(n)), the initial symbolestimate, {tilde over (s)}(n), may be expressed as:

{tilde over (s)} (n)= M _(f) {tilde over (Γ)} s (n)+ M _(f) {tilde over(z)} (n),   Eq (40)

[0163] where {tilde over (z)}(n)=[{tilde over (z)} ^(T)(n+K₁){tilde over(z)} ^(T)(n+K₁−1) . . . {tilde over (z)} ^(T)(n)]^(T).

[0164] To determine the SNR associated with the initial symbol estimate,{tilde over (s)}(n), from the decision feedback equalizer, an unbiasedminimum mean square error estimate is initially derived (similar to theMMSE-LE described above) by finding the conditional mean value of thetransmitted symbol vector:

E[{tilde over (s)}( n)| s (n)]= M _(f) {tilde over (Γ)} s (n)= G _(dfe)s (n),   Eq (41)

[0165] where G _(dfe)=M _(f) {tilde over (Γ)}={tilde over (Γ)} ^(H) φ_({tilde over (rr)}) ⁻¹ {tilde over (Γ)}. Next, the mean value of thei-th element of {tilde over (s)}(n), {tilde over (s)}_(i)(n), isexpressed as:

E[{tilde over (s)} _(i)(n)|s _(i)(n)]=g _(dfe,ii) s _(i)(n)

[0166] where g_(dfe,ii) is the i-th diagonal element of G _(dfe).

[0167] To form the unbiased symbol estimate, ŝ(n), similar to thatdescribed above for the MMSE-LE, a diagonal matrix whose elements arethe inverse of the diagonal elements of G _(dfe) is first defined as:

D _(Gdfe) ⁻¹=diag(1/g _(dfe,11), 1/g _(dfe,22), . . . , 1/g _(dfe,N)_(T) _(N) _(T) ).   Eq (42)

[0168] The unbiased estimate, ŝ(n), can then be expressed as:$\begin{matrix}{\quad {\begin{matrix}{{\hat{\underset{\_}{s}}(n)} = {{{\underset{\_}{D}}_{Gdfe}^{- 1}{\overset{\sim}{\underset{\_}{s}}(n)}} = {{\underset{\_}{D}}_{Gdfe}^{- 1}\left( {{{\underset{\underset{\_}{\_}}{M}}_{f}{\overset{\sim}{\underset{\underset{\_}{\_}}{r}}(n)}} + {{\underset{\underset{\_}{\_}}{M}}_{b}{\underset{\underset{\_}{\_}}{\overset{\Cup}{s}}(n)}}} \right)}}} \\{{= {{\underset{\_}{D}}_{Gdfe}^{- 1}{{\underset{\underset{\_}{\_}}{M}}_{f}\left( {{\underset{\underset{\_}{\_}}{\overset{\sim}{\Gamma}}\quad {\underset{\_}{s}(n)}} + {\underset{\_}{\overset{\sim}{z}}(n)}} \right)}}}\quad}\end{matrix}.}} & {{Eq}\quad (43)}\end{matrix}$

[0169] The resulting error covariance matrix is given by:$\begin{matrix}{\begin{matrix}{{\underset{\_}{\phi}}_{ee} = {{\underset{\_}{W}}_{dfe} = {E\left\{ {\left\lbrack {{\underset{\_}{s}(n)} - {{\underset{\_}{D}}_{Gdfe}^{- 1}{\overset{\sim}{\underset{\_}{s}}(n)}}} \right\rbrack \left\lbrack {{{\underset{\_}{s}}^{H}(n)} - {{{\overset{\sim}{\underset{\_}{s}}}^{H}(n)}{\underset{\_}{D}}_{Gdfe}^{- 1}}} \right\rbrack} \right\}}}} \\{{= {\underset{\_}{I} - {{\underset{\_}{D}}_{Gdfe}^{- 1}{\underset{\_}{G}}_{dfe}} - {{\underset{\_}{G}}_{dfe}^{H}{\underset{\_}{D}}_{Gdfe}^{- 1}} + {{\underset{\_}{D}}_{Gdfe}^{- 1}{\underset{\_}{G}}_{dfe}{\underset{\_}{D}}_{Gdfe}^{- 1}}}}\quad}\end{matrix}.} & {{Eq}\quad (44)}\end{matrix}$

[0170] The SNR associated with the unbiased estimate, ŝ_(i)(n), of thesymbol transmitted on the i-th transmit antenna can then be expressedas: $\begin{matrix}{{SNR}_{i} = {\frac{1}{w_{{dfe},{ii}}} = {\frac{g_{{dfe},{ii}}}{1 - g_{{dfe},{ii}}}.}}} & {{Eq}\quad (45)}\end{matrix}$

[0171]FIG. 5B is a block diagram of an embodiment of a decision feedbackequalizer 322 b, which is another embodiment of equalizer 322 in FIG. 3.Within decision feedback equalizer 322 b, the received symbol vector,{circumflex over (r)}(n), from RX MIMO processor 160 is filtered by afeed-forward filter 534, which may implement the MMSE techniquedescribed above or some other linear spatial equalization technique. Asummer 536 then combines the output from feed-forward filter 534 withthe estimated distortion components from a feed-back filter 538 toprovide the biased symbol estimate, {tilde over (s)}(n), having thedistortion component approximately removed. Initially, the estimateddistortion components are zero and the symbol estimate, {tilde over(s)}(n), is simply the output from filter 534. The initial estimate,{tilde over (s)}(n), for summer 536 is then multiplied with the matrix D_(Gdfe) ⁻¹ by a multiplier 540 to provide the unbiased estimate, ŝ(n),of the transmitted symbol vector, s(n). The unbiased estimate, ŝ(n),comprises the recovered symbol vector that is provided to RX dataprocessor 162.

[0172] Within RX data processor 162, symbol unmapping element 332 (inFIG. 3) provides demodulated data for the recovered symbol vector, ŝ(n).The demodulated data is then provided to a symbol mapping element 216 xwithin DFE 322 b and modulated to provide the remodulated symbol vector,{haeck over (s)}(n). Alternatively, the demodulated may be decoded,re-coded, and then provided to symbol mapping element 216 x. Theremodulated symbols are estimates of the modulation symbols, s(n),transmitted from the transmitter. The remodulated symbol vector, {haeckover (s)}(n), is provided to feed-back filter 538, which filters thesymbol vector to derive the estimated distortion components. Feed-backfilter 538 may implement a linear spatial equalizer (e.g., a lineartransversal equalizer).

[0173] For the DEE technique, the remodulated symbols are used to derivean estimate of the distortion generated by the already detected symbols.If the remodulated symbols are derived without errors (or with minimalerrors), then the distortion component may be accurately estimated andthe inter-symbol interference contributed by the already detectedsymbols may be effectively canceled out. The processing performed byfeed-forward filter 534 and feed-back filter 538 is typically adjustedsimultaneously to minimize the mean square error (MSE) of theinter-symbol interference in the recovered symbols.

[0174] The DFE and MMSE techniques are described in further detail by S.L. Ariyavistakul et al. in a paper entitled “Optimum Space-TimeProcessors with Dispersive Interference: Unified Analysis and RequiredFilter Span,” IEEE Trans. on Communication, Vol. 7, No. 7, July 1999,and incorporated herein by reference.

Maximum Likelihood Sequence Estimation

[0175] Maximum likelihood sequence estimation (MLSE) for channels withinter-symbol interference (ISI) is performed by forming a set of pathmetrics for use in the Viterbi algorithm, which searches for the mostlikely transmitted sequence, given the observed received signal. TheMLSE is described in further detail by Andrew J. Viterbi and Jim K.Omura in “Principles of Digital Communication and Coding,” McGraw-Hill,1979, which is incorporated herein by reference.

[0176] The use of MLSE on wideband MIMO channels that have not beenorthogonalized through eigenmode decomposition, however, is impracticaldue to the excessively high dimensionality of the channel state space. AViterbi equalizer performing maximum likelihood sequence estimation fora MIMO channel has M^(rL) states, where M is the size of the symbolalphabet, r≦N_(T) is the number of independent transmitted data streams,and L is the channel memory. For example, in the simple case where QPSKsignaling is used (M=4) with four independent data streams (r=4) and thechannel has memory of one symbol (L=1), the Viterbi equalizer would have2⁸ states (i.e., 4^(4.1)=2⁸).

[0177] Using time-domain eigenmode decomposition in conjunction withViterbi MLSE greatly reduces the state space of the Viterbi equalizer.In this case, the received symbol streams can be equalizedindependently, so the size of the state space is now linear in thenumber of independent data streams r, i.e., rM^(L). For the previousexample, the state space would be reduced to 2 ₄(i.e., 4·4¹=2⁴).

[0178] The objective of the MLSE approach is to choose the transmittedsequence of symbol vectors, s _(m)(n), that maximizes the metric:$\begin{matrix}{K_{m} = {\sum\limits_{n}{\left\{ {{2\quad {{Re}\left\lbrack {{{\overset{\sim}{\underset{\_}{r}}}^{H}(n)}\underset{\underset{\_}{\_}}{\Gamma}\quad {\underset{\underset{\_}{\_}}{s}}_{m}\quad (n)} \right\rbrack}} - {{{\underset{\underset{\_}{\_}}{s}}_{m}^{H}(n)}{\underset{\underset{\_}{\_}}{\Gamma}}^{H}\underset{\underset{\_}{\_}}{\Gamma}\quad {\underset{\underset{\_}{\_}}{s}}_{m}\quad (n)}} \right\}.}}} & {{Eq}\quad (46)}\end{matrix}$

[0179] Since the blocks Γ(l) that make up Γ are diagonal, K_(m) can beexpressed as the sum of r metrics, each associated with one of the MIMOchannel's time-domain eigen-modes: $\begin{matrix}{{K_{m} = {\sum\limits_{i = 1}^{r}{\kappa_{m}(i)}}},} & {{Eq}\quad (47)}\end{matrix}$

[0180] where $\begin{matrix}{{{\kappa_{m}(i)} = {\sum\limits_{n}{\mu_{m}^{i}(n)}}},} & {{Eq}\quad (48)}\end{matrix}$

[0181] and $\begin{matrix}{{\mu_{m}^{i}(n)} = {{2\quad {{Re}\left\lbrack {{{\overset{\sim}{r}}_{i}(n)}{\sum\limits_{l = 0}^{L}\quad {{s_{m,i}^{*}\left( {n - l} \right)}{\Gamma_{ii}^{*}(l)}}}} \right\rbrack}} - {\sum\limits_{l = 0}^{L}\quad {\sum\limits_{j = 0}^{L}\quad {{s_{m,i}^{*}\left( {n - l} \right)}{s_{m,i}\left( {n - j} \right)}{\Gamma^{*}(l)}{{\Gamma (j)}.}}}}}} & {{Eq}\quad (49)}\end{matrix}$

[0182] The sequence metrics, κ_(m)(i), are identical in form to sequencemetrics associated with the MLSE for SISO channels with inter-symbolinterference. Therefore, MLSE Viterbi equalization as is known in theart can be applied to the equalization of the individual received symbolstreams, as follows.

[0183] The path metric for received symbol stream i at stage n in theViterbi algorithm is given by

M _(i)(n)=μ_(m) ^(i)(n)+M _(i)(n−1).   Eq (50)

[0184] When sample n is received, (1) M values of μ_(m) ^(i)(n)associated with each possible transmitted symbol, s_(m,i)(n), arecomputed for each of the M^(L) states associated with symbol steam i atsample time n−1, and (2) M values of M_(i)(n), one associated with eachpossible value of S_(m,i)(n), are computed for each state. The largestvalue of M_(i)(n) is then selected for each state at sample time n, andthe sequence associated with this largest value is selected as thesurviving sequence at that state.

[0185] Sequence decisions may be declared when path merge events occur,which is when all of the surviving sequences merge at a common previousstate. Alternatively, sequence decisions may be declared when pathtruncation occur at a fixed delay, which may be used to force a choicewhen merge events have not yet occurred.

[0186] Several different types of equalizer have been described above,including the MMSE-LE, DFE, and MLSE. Each of these equalizers may beused to equalize the received symbols to provide the recovered symbols,which are estimates of the transmitted symbols. Other types of equalizermay also be used, and this is within the scope of the invention. Byorthogonalizing the received symbol streams via eigenmode decomposition,the received symbol streams may be equalized independently, which can(1) greatly reduce the complexity of the equalizer selected for useand/or (2) allow for use of other types of equalizer that may beimpractical otherwise.

[0187] The techniques to transmit and receive data described herein maybe implemented in various wireless communication systems, including butnot limited to MIMO and CDMA systems. These techniques may also be usedfor the forward link and/or the reverse link.

[0188] The techniques described herein to process a data transmission atthe transmitter and receiver may be implemented by various means. Forexample, these techniques may be implemented in hardware, software, or acombination thereof. For a hardware implementation, the elements used toperform various signal processing steps at the transmitter (e.g., tocode and modulate the data, to derive the transmitter pulse-shapingmatrices, to precondition the modulation symbols, and so on) or at thereceiver (e.g., to derive the receiver pulse-shaping matrices, toprecondition the received samples, to equalize the received symbols, todemodulate and decode the recovered symbols, and so on) may beimplemented within one or more application specific integrated circuits(ASICs), digital signal processors (DSPs), digital signal processingdevices (DSPDs), programmable logic devices (PLDs), field programmablegate arrays (FPGAs), processors, controllers, micro-controllers,microprocessors, other electronic units designed to perform thefunctions described herein, or a combination thereof.

[0189] For a software implementation, some or all of the signalprocessing steps at each of the transmitter and receiver may beimplemented with modules (e.g., procedures, functions, and so on) thatperform the functions described herein. The software codes may be storedin a memory unit (e.g., memories 132 and 172 in FIG. 1) and executed bya processor (e.g., controllers 130 and 170). The memory unit may beimplemented within the processor or external to the processor, in whichcase it can be communicatively coupled to the processor via variousmeans as is known in the art.

[0190] Headings are included herein for reference and to aid in locatingcertain sections. These headings are not intended to limit the scope ofthe concepts described therein under, and these concepts may haveapplicability in other sections throughout the entire specification.

[0191] The previous description of the disclosed embodiments is providedto enable any person skilled in the art to make or use the presentinvention. Various modifications to these embodiments will be readilyapparent to those skilled in the art, and the generic principles definedherein may be applied to other embodiments without departing from thespirit or scope of the invention. Thus, the present invention is notintended to be limited to the embodiments shown herein but is to beaccorded the widest scope consistent with the principles and novelfeatures disclosed herein.

What is claimed is:
 1. A method for transmitting data in amultiple-input multiple-output (MIMO) communication system, comprising:coding data in accordance with one or more coding schemes to providecoded data for a plurality of transmission channels in a MIMO channel;modulating the coded data in accordance with one or more modulationschemes to provide a plurality of streams of modulation symbols;deriving a pulse-shaping matrix based in part on an estimated responseof the MIMO channel; pulse shaping the plurality of modulation symbolstreams based on the pulse-shaping matrix to derive a plurality ofpulse-shaped signals; and transmitting the plurality of pulse-shapedsignals over the MIMO channel.
 2. The method of claim 1, furthercomprising: determining an estimated channel response matrix for theMIMO channel; and decomposing the estimated channel response matrix toobtain a first sequence of matrices of eigen-vectors and a secondsequence of matrices of singular values, and wherein the pulse-shapingmatrix is derived based on the first and second sequences of matrices.3. The method of claim 2, wherein the estimated channel response matrixis given in the frequency domain and is decomposed in the frequencydomain.
 4. The method of claim 2, wherein the estimated channel responsematrix is decomposed based on singular value decomposition.
 5. Themethod of claim 2, wherein the estimated channel response matrixcomprises a plurality of eigen-modes, and wherein eigen-modes associatedwith singular values below a particular threshold are not selected foruse for data transmission.
 6. The method of claim 2, wherein thesingular values in each matrix in the second sequence are randomlyordered such that eigen-modes of the estimated channel response matrixare associated with approximately equal transmit power.
 7. The method ofclaim 2, further comprising: deriving a third sequence of matrices,based on the second sequence of matrices of singular values, havingvalues indicative of transmit power allocated to eigen-modes of theestimated channel response matrix, and wherein the pulse-shaping matrixis derived based on the first and third sequences of matrices.
 8. Themethod of claim 7, wherein the third sequence of matrices is derivedbased on water-pouring analysis.
 9. The method of claim 1, wherein thepulse-shaping matrix comprises a plurality of sequences of time-domainvalues, and wherein the pulse-shaping is performed in the time domain byconvolving the plurality of streams of modulation symbols with thepulse-shaping matrix.
 10. The method of claim 1, wherein thepulse-shaping matrix comprises a plurality of sequences offrequency-domain values, and wherein the pulse shaping is performed inthe frequency domain by multiplying a plurality of streams oftransformed modulation symbols with the pulse-shaping matrix.
 11. Themethod of claim 1, wherein the pulse-shaping matrix is derived tomaximum capacity by allocating more transmit power to transmissionchannels with higher signal-to-noise-and-interference ratios (SNRs). 12.The method of claim 1, wherein the pulse-shaping matrix is derived toprovide approximately equal received signal-to-noise-and-interferenceratios (SNRs) for the plurality of modulation symbol streams.
 13. Themethod of claim 1, wherein separate coding and modulation schemes areused for each transmission channel.
 14. The method of claim 1, wherein acommon coding and modulation scheme is used for all transmissionchannels.
 15. A method for transmitting data in a multiple-inputmultiple-output (MIMO) communication system, comprising: coding data inaccordance with one or more coding schemes to provide coded data for aplurality of transmission channels in a MIMO channel; modulating thecoded data in accordance with one or more modulation schemes to providea plurality of streams of modulation symbols; determining an estimatedchannel response matrix for the MIMO channel; decomposing the estimatedchannel response matrix to obtain a first sequence of matrices ofeigen-vectors and a second sequence of matrices of singular values;deriving a third sequence of matrices, based on the second sequence ofmatrices of singular values, having values indicative of transmit powerallocated to eigen-modes of the estimated channel response matrix;deriving a pulse-shaping matrix based on the first and third sequencesof matrices; pulse shaping the plurality of modulation symbol streamsbased on the pulse-shaping matrix to derive a plurality of pulse-shapedsignals; and transmitting the plurality of pulse-shaped signals over theMIMO channel.
 16. A memory communicatively coupled to a digital signalprocessing device (DSPD) capable of interpreting digital information to:code data in accordance with one or more coding schemes to provide codeddata for a plurality of transmission channels in a MIMO channel;modulate the coded data in accordance with one or more modulationschemes to provide a plurality of streams of modulation symbols; derivea pulse-shaping matrix based in part on an estimated response of theMIMO channel; and pulse-shape the plurality of modulation symbol streamsbased on the pulse-shaping matrix to derive a plurality of pulse-shapedsignals for transmission over the MIMO channel.
 17. A method forreceiving a data transmission in a multiple-input multiple-output (MIMO)communication system, comprising: determining an estimated channelresponse matrix for a MIMO channel used for the data transmission;decomposing the estimated channel response matrix to obtain a firstsequence of matrices of eigen-vectors; deriving a pulse-shaping matrixbased on the first sequence of matrices; and pulse shaping a pluralityof received signals based on the pulse-shaping matrix to obtain aplurality of streams of received symbols.
 18. The method of claim 17,wherein the pulse shaping is performed in the time domain based on atime-domain pulse-shaping matrix.
 19. The method of claim 17, whereinthe pulse shaping is performed in the frequency domain and includestransforming the plurality of received signals to the frequency domain;multiplying the transformed received signals with a frequency-domainpulse-shaping matrix to derived a plurality of pulse-shaped signals; andtransforming the plurality of pulse-shaped signals to the time domain toobtain the plurality of received symbol streams.
 20. The method of claim17, wherein the pulse-shaping orthogonalizes the plurality of streams ofreceived symbols.
 21. The method of claim 17, further comprising:equalizing the plurality of received symbol streams to derive aplurality of recovered symbol streams.
 22. The method of claim 21,wherein the equalizing is performed separately for each received symbolstream.
 23. The method of claim 21, wherein the equalizing is performedbased on a minimum mean square error linear equalizer (MMSE-LE).
 24. Themethod of claim 21, wherein the equalizing is performed based on adecision feedback equalizer (DFE).
 25. The method of claim 21, whereinthe equalizing is performed based on a maximum likelihood sequenceestimation (MLSE) equalizer.
 26. The method of claim 21, furthercomprising: demodulating the plurality of recovered symbol streams inaccordance with one or more demodulation schemes to provide a pluralityof demodulated data streams; and decoding the plurality of demodulateddata streams in accordance with one or more decoding schemes to providedecoded data.
 27. The method of claim 17, further comprising: derivingchannel state information (CSI) comprised of the estimated channelresponse matrix and signal-to-noise-and-interference ratios (SNRs) for aplurality of transmission channels of the MIMO channel; and sending theCSI back to a transmitter of the data transmission.
 28. A method forreceiving a data transmission in a multiple-input multiple-output (MIMO)communication system, comprising: determining an estimated channelresponse matrix for a MIMO channel used for the data transmission;decomposing the estimated channel response matrix to obtain a firstsequence of matrices of eigen-vectors; deriving a pulse-shaping matrixbased on the first sequence of matrices; pulse shaping a plurality ofreceived signals based on the pulse-shaping matrix to obtain a pluralityof streams of received symbols; equalizing the plurality of receivedsymbol streams to derive a plurality of recovered symbol streams;demodulating the plurality of recovered symbol streams in accordancewith one or more demodulation schemes to provide a plurality ofdemodulated data streams; and decoding the plurality of demodulated datastreams in accordance with one or more decoding schemes to providedecoded data.
 29. A memory communicatively coupled to a digital signalprocessing device (DSPD) capable of interpreting digital information to:determine an estimated channel response matrix for a MIMO channel usedfor the data transmission; decompose the estimated channel responsematrix to obtain a first sequence of matrices of eigen-vectors; derive apulse-shaping matrix based on the first sequence of matrices; and pulseshape a plurality of received signals based on the pulse-shaping matrixto obtain a plurality of streams of received symbols.
 30. A transmitterunit in a multiple-input multiple-output (MIMO) communication system,comprising: a TX data processor operative to code data in accordancewith one or more coding schemes to provide coded data for a plurality oftransmission channels in a MIMO channel, and to modulate the coded datain accordance with one or more modulation schemes to provide a pluralityof streams of modulation symbols; a TX MIMO processor operative toderive a pulse-shaping matrix based in part on an estimated response ofthe MIMO channel, and to pulse shape the plurality of modulation symbolstreams based on the pulse-shaping matrix to provide a plurality ofpulse-shaped signals; and one or more transmitters operative tocondition and transmit the plurality of pulse-shaped signals over theMIMO channel.
 31. The transmitter unit of claim 30, wherein the TX MIMOprocessor is further operative to determine an estimated channelresponse matrix for the MIMO channel, decompose the estimated channelresponse matrix to obtain a first sequence of matrices of eigen-vectorsand a second sequence of matrices of singular values, and derive thepulse-shaping matrix based on the first and second sequences ofmatrices.
 32. The transmitter unit of claim 31, wherein the TX MIMOprocessor is further operative to decompose the estimated channelresponse matrix in the frequency domain using singular valuedecomposition.
 33. The transmitter unit of claim 31, wherein the TX MIMOprocessor is further operative to derive, based on the second sequenceof matrices of singular values, a third sequence of matrices of valuesindicative of transmit power allocated to eigen-modes of the estimatedchannel response matrix, and to derive the pulse-shaping matrix based onthe first and third sequences of matrices.
 34. A transmitter apparatusin a multiple-input multiple-output (MIMO) communication system,comprising: means for coding data in accordance with one or more codingschemes to provide coded data for a plurality of transmission channelsin a MIMO channel; means for modulating the coded data in accordancewith one or more modulation schemes to provide a plurality of streams ofmodulation symbols; means for deriving a pulse-shaping matrix based inpart on an estimated response of the MIMO channel; means for pulseshaping the plurality of modulation symbol streams based on thepulse-shaping matrix to derive a plurality of pulse-shaped signals; andmeans for transmitting the plurality of pulse-shaped signals over theMIMO channel.
 35. A digital signal processor for use in a multiple-inputmultiple-output (MIMO) communication system, comprising: means forcoding data in accordance with one or more coding schemes to providecoded data for a plurality of transmission channels in a MIMO channel;means for modulating the coded data in accordance with one or moremodulation schemes to provide a plurality of streams of modulationsymbols; means for deriving a pulse-shaping matrix based in part on anestimated response of the MIMO channel; and means for pulse shaping theplurality of modulation symbol streams based on the pulse-shaping matrixto derive a plurality of pulse-shaped signals.
 36. A receiver unit in amultiple-input multiple-output (MIMO) communication system, comprising:a RX MIMO processor operative to determine an estimated channel responsematrix for a MIMO channel used for data transmission, decompose theestimated channel response matrix to obtain a first sequence of matricesof eigen-vectors, derive a pulse-shaping matrix based on the firstsequence of matrices, and pulse shape a plurality of received signalsbased on the pulse-shaping matrix to obtain a plurality of streams ofreceived symbols; and a RX data processor operative to demodulate theplurality of received symbol streams in accordance with one or moredemodulation schemes, and to decode a plurality of demodulated datastreams in accordance with one or more decoding schemes to providedecoded data.
 37. The receiver unit of claim 36, wherein the RX MIMOprocessor includes an equalizer operative to equalize the plurality ofreceived symbol streams to provide a plurality of recovered symbolstreams, and wherein the RX data processor is operative to demodulateand decode the plurality of recovered symbol streams to provide thedecoded data.
 38. The receiver unit of claim 37, wherein the equalizeris a minimum mean square error linear equalizer (MMSE-LE).
 39. Thereceiver unit of claim 37, wherein the equalizer is a decision feedbackequalizer (DFE).
 40. The receiver unit of claim 37, wherein theequalizer is a maximum likelihood sequence estimation (MLSE) equalizer.41. The receiver unit of claim 37, wherein the equalizer is operative toseparately equalize each received symbol stream.
 42. A receiverapparatus in a multiple-input multiple-output (MIMO) communicationsystem, comprising: means for determining an estimated channel responsematrix for a MIMO channel used for the data transmission; means fordecomposing the estimated channel response matrix to obtain a firstsequence of matrices of eigen-vectors; means for deriving apulse-shaping matrix based on the first sequence of matrices; and meansfor pulse shaping a plurality of received signals based on thepulse-shaping matrix to obtain a plurality of streams of receivedsymbols.
 43. A digital signal processor in a multiple-inputmultiple-output (MIMO) communication system, comprising: means fordetermining an estimated channel response matrix for a MIMO channel usedfor the data transmission; means for decomposing the estimated channelresponse matrix to obtain a first sequence of matrices of eigen-vectors;means for deriving a pulse-shaping matrix based on the first sequence ofmatrices; and means for pulse shaping a plurality of received signalsbased on the pulse-shaping matrix to obtain a plurality of streams ofreceived symbols.